import Vue from 'vue';
import App from './App.vue';
import Header from './components/Header';
import Footer from './components/Footer';
import TypeNav from './components/TypeNav';
//引入router与实例关联，成为实例身上的属性
import router from './Router';
import './Router/rewritePush';
//引入store
import store from '@/store';
import '@/mocked';
//把api所有文件全部导出，以api接收
import * as api from './api';

//全局引入element-ui样式
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
//全局使用element-ui
Vue.use(ElementUI);
Vue.config.productionTip = false;
// 头部和底部作为全局组件  组件名称所对应的对象
Vue.component('Header', Header);
Vue.component('Footer', Footer);
// 全局组件，组件名所对应的组件
Vue.component('TypeNav', TypeNav);
//把发送请求的方法放到vue原型上，这样直接可以从原型上获取，就不用引入
Vue.prototype.$API = api;

new Vue({
  router,
  store,
  render: (h) => h(App),
  //创建事件总线，注意点，同时要同时
  beforeCreate(){
    Vue.prototype.$bus=this
  }
}).$mount('#app');
